package com.bjxst;

import java.io.BufferedOutputStream;
import java.io.DataOutputStream;
import java.io.FileOutputStream;

/**数据流：将“基于数据类型与字符串类型”作为数据源，从而允许程序以与机器无关的方式
 * 从底层输入输出流中操作java基本数据类型与字符串类型*/
//DataInputStream和DataOutputStream  提供了可以存取与机器无关的所有java 基础类型
// 数据（如：int double String 等）的方法
    /*作用：将文本文件中的内容无论以字节流还是字符流输出/输入，有不同的数据类型
    * 如（）int double String ),用DataInputStream和DataOutputStream
    * 就不用类型转换*/
public class DataOutputDemo{
    public static void main(String[] args) {
        //DataOutputStream 是处理流 在构造方法中需要节点流来指定文件位置
        //异常报错
        //DataOutputStream dos = new DataOutputStream(new BufferedOutputStream(new FileOutputStream(""));
        DataOutputStream dos = null;
        try{
            //data.txt的后缀扩展名可以不用加txt  这与数据输出流无关
            dos = new DataOutputStream(new BufferedOutputStream(new FileOutputStream("d:/data.txt")));
            //dos.write('a');
            dos.writeChar('c');
            dos.writeInt(20);
            dos.writeDouble(Math.random());
            dos.writeBoolean(true);
            dos.writeUTF("你好");//字符串
        }catch (Exception e){
            e.printStackTrace();
        }finally {
            try{
                if(dos != null )dos.close();
            }catch (Exception e){
                e.printStackTrace();
            }
        }
    }

}
